# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Contributor: Gaetan Bisson <bisson@archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - comment adding -flto to CFLAGS
#  - generalize cd Olinux-* for install-bin-sta

pkgname=pari
pkgver=2.13.1
pkgrel=2
pkgdesc='Computer algebra system designed for fast computations in number theory'
url='https://pari.math.u-bordeaux.fr/'
license=(GPL)
arch=(x86_64)
depends=(gmp libx11)
makedepends=(perl texlive-core chrpath)
optdepends=('perl: gphelp, tex2mail'
            'pari-elldata: J. Cremona elliptic curve database'
            'pari-galdata: to compute Galois groups in degrees 8 through 11'
            'pari-seadata: needed by ellap for large primes'
            'pari-galpol: GALPOL database of polynomials defining Galois extensions of the rationals')
source=("https://pari.math.u-bordeaux.fr/pub/pari/unix/$pkgname-$pkgver.tar.gz"{,.asc}
         pari-rnfdisc.patch)
sha256sums=('81ecf7d70ccdaae230165cff627c9ce2ec297b8f22f9f40742279d85f86dfcb1'
            'SKIP'
            '4ddd27fa348d5c00b9a668c1122461488ad719ad31a397ed9b49fb14f6599d94')
validpgpkeys=('42028EA404A2E9D80AC453148F0E7C2B4522E387')

prepare() {
  cd $pkgname-$pkgver
  
  patch -p1 < ../pari-rnfdisc.patch # https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2284
  sed -e 's|DLLDFLAGS  = \$DLLDFLAGS|DLLDFLAGS  = $DLLDFLAGS $LDFLAGS|' -i config/Makefile.SH # Honor system LDFLAGS
}

build() {
  cd $pkgname-$pkgver

  # Upstream Bill Allombert recommends linking gp statically against
  # libpari.so with -flto to recover speed losses incurred when enabling
  # pthread support. That's also what he now does for the Debian package.
  #export CFLAGS+=' -flto'

  ./Configure \
    --prefix=/usr \
    --with-readline \
    --mt=pthread \
    --with-gmp
  make all
  make -C Olinux-* gp-sta
}

check() {
  cd $pkgname-$pkgver
  make bench
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  make DESTDIR="$pkgdir" -C Olinux-* install-bin-sta
  ln -sf gp.1.gz "$pkgdir"/usr/share/man/man1/pari.1
  chrpath -d "$pkgdir"/usr/bin/gp-*
}
